package si.yun.web;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.tobato.fastdfs.domain.fdfs.StorePath;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import si.yun.entity.*;
import si.yun.service.SyOperationService;
import si.yun.utils.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @ClassName: 栾佳俊
 * @Description: TODO
 * @Author: 空白
 * @Date 2021/7/29 11:48
 */
@Controller
@RequestMapping("SyOperationController")
@PropertySource("classpath:config.properties")
public class SyOperationController {

    @Autowired
    private SyOperationService service;

    @Autowired
    private TestAliUpload testAliUpload;

    @Value("${path1}")
    private String path2;
    /**
     * @Author : 空白
     * @Date : 2021/7/29 14:48
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SelectSyOrder")
    @ResponseBody
    public JsonData SelectSyOrder() {
        int  order = service.SelectSyOrder();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 空白
     * @Date : 2021/7/29 15:13
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SelectSyPendingCourses")
    @ResponseBody
    public JsonData SelectSyPendingCourses () {
        int  order = service.SelectSyPendingCourses();
        return JsonData.buildSuccess(order);

    }
    /**
     * @Author : 空白
     * @Date : 2021/8/2 14:46
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SelectSySales")
    @ResponseBody
    public JsonData SelectSySales () {
        int  order = service.SelectSySales();
        return JsonData.buildSuccess("￥"+order);
    }
    /**
     * @Author : 空白
     * @Date : 2021/8/2 14:46
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SelectSyPending")
    @ResponseBody
    public JsonData SelectSyPending () {
        int  order = service.SelectSyPending();
        return JsonData.buildSuccess("("+order+")");
    }
    /**
     * @Author : 空白
     * @Date : 2021/8/2 14:46
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SelectSyCommodity")
    @ResponseBody
    public JsonData SelectSyCommodity () {
        int  order = service.SelectSyCommodity();
        return JsonData.buildSuccess("("+order+")");
    }
    /**
     * @Author : 空白
     * @Date : 2021/8/2 14:51
     * @Param : [value]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SelectSyOrderStatistics")
    @ResponseBody
    public JsonData SelectSyOrderStatistics (String value, @RequestBody List<String> timeDate) {
        List<Integer>  order = service.SelectSyOrderStatistics(value,timeDate);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : $栾佳俊$
     * @Date : 2021/8/2 14:52
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    //昨日订单总数
    @RequestMapping("SelectSyOrderDingDan")
    @ResponseBody
    public JsonData SelectSyOrderDingDan () {
        int order = service.SelectSyOrderDingDan();
        return JsonData.buildSuccess(order);
    }
    /**
     * @program: ${PROJECT_NAME}
     *
     * @description: ${description}
     *
     * @author: $栾佳俊$
     *
     * @create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
     **/
    //昨日订单金额
    @RequestMapping("OrderDingDanMonery")
    @ResponseBody
    public JsonData SelectSyOrderDingDanMonery () {
        int order = service.SelectSyOrderDingDanMonery();
        return JsonData.buildSuccess("￥"+order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("ControllerAllOrders")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerAllOrders() {
        int order  = service.SyCourseOrderManagementselControllerAllOrders();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyCoursePendingPayment")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerPendingPayment() {
        int order  = service.SyCourseOrderManagementselControllerPendingPayment();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("OrderCompleted")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerCompleted() {
        int order  = service.SyCourseOrderManagementselControllerCompleted();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyConCancelled")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerCancelled() {
        int order  = service.SyCourseOrderManagementselControllerCancelled();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("AllOrderReviewList")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerAllOrderReviewList() {
        List<SyUserOrder> order  = service.SyCourseOrderManagementselControllerAllOrderReviewList();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("PendingPaymentList")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerPendingPaymentList() {
        List<SyUserOrder> order  = service.SyCourseOrderManagementselControllerPendingPaymentList();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("CompletedList")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerCanceledList() {
        List<SyUserOrder> order  = service.SyCourseOrderManagementselControllerCanceledList();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/24 10:27
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("llerCanceledList")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerCompletedList() {
        List<SyUserOrder> order  = service.SyCourseOrderManagementselControllerCompletedList();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/27 16:22
     * @Param : [OrderNumber, UserAccount, PaymentMethod, SubmissionTimeId]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("AllCourseOrderListView")
    @ResponseBody
    public JsonData SyCourseOrderManagementselControllerAllCourseOrderListView(SyUser syUser) {
        List<SyUserOrder> order  = service.SyCourseOrderManagementselControllerAllCourseOrderListView(syUser);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/27 16:23
     * @Param : [syUser]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("CourseListPopUpLayer")
    @ResponseBody
    public JsonData AdvancedRetrievalOfCourseListPopUpLayer(SyUser syUser) {
        List<SyUserOrder> order  = service.AdvancedRetrievalOfCourseListPopUpLayer(syUser);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/4 16:28
     * @Param : [str2, c, id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyCourseReviews")
    @ResponseBody
    public JsonData SyCommodityReviewAdd(String str2, int c, int id) {
        int order  = service.SyCommodityReviewAdd(str2,c,id);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/4 16:29
     * @Param : [str, c, id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyProductNameUpd")
    @ResponseBody
    public JsonData SyProductNameUpd(String str, int c, int id) {
        int order  = service.SyProductNameUpd(str,c,id);

        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/4 8:23
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    // 课程审核列表
    @RequestMapping("SyCourseReview")
    @ResponseBody
    public JsonData SyCourseReview() {
        List<SyCourse> order  = service.SyCourseReview();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/4 8:23
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyCourseReviewXiangqing")
    @ResponseBody
    public JsonData SyCourseReviewXiangqing(@RequestParam(value="s")int s) {
        SyCourse order  = service.SyCourseReviewXiangqing(s);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/5 20:33
     * @Param : [kecheng, aClass, aClass2]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("ReviewAdvancedSearch")
    @ResponseBody
    public JsonData SyCourseReviewAdvancedSearch (String kecheng, int aClass, int aClass2 ) {
        List<SyCourse> order  = service.SyCourseReviewAdvancedSearch(kecheng,aClass,aClass2);
        return JsonData.buildSuccess(order);
    }




    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/27 16:32
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @PostMapping("/getProgect")
    @ResponseBody
    public JsonData getProgect(String productName, Integer condition, String productLabel){
        List<HashMap> count=service.getProgect(productName,condition,productLabel);
        return count!=null? JsonData.buildSuccess(count): JsonData.buildError("信息为空");
    }


    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/5 9:30
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyCourseDatasheets")
    @ResponseBody
    public JsonData SyCourseDatasheets() {
        List<HashMap> order  = service.SyCourseDatasheets();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/6 9:41
     * @Param : [SSS, SSS1, SSS2]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyCourseCommodityReviewSearch")
    @ResponseBody
    public JsonData SyCourseCommodityReviewSearch(String SSS, int SSS1, int SSS2) {
        List<HashMap> order  = service.SyCourseCommodityReviewSearch(SSS,SSS1,SSS2);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/6 10:34
     * @Param : [remarks, select1, email, position_id, select2, position]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("CourseReview")
    @ResponseBody
    public JsonData SyAdvancedSearchCourseReview(SyUser syUser) {
        List<HashMap> order  = service.SyAdvancedSearchCourseReview(syUser);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("CommodityChindChaKan")
    @ResponseBody
    public JsonData SyPendingCommodityChindChaKan(int id) {
        List<HashMap> order  = service.SyPendingCommodityChindChaKan(id);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("AdvancedSearchCourseReview")
    @ResponseBody
    public JsonData AdvancedSearchCourseReview(String remarks, int select1, String email, String position_id, int select2, String position) {
        List<HashMap> order  = service.AdvancedSearchCourseReview(remarks,select1,email,position_id,select2,position);
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyAllProducts")
    @ResponseBody
    public JsonData SyAllProducts() {
        int order  = service.SyAllProducts();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyReviewedProducts")
    @ResponseBody
    public JsonData SyReviewedProducts() {
        int order  = service.SyReviewedProducts();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("PendingProducts")
    @ResponseBody
    public JsonData PendingProducts() {
        int order  = service.PendingProducts();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     */
    @RequestMapping("SyFailedProduct")
    @ResponseBody
    public JsonData SyFailedProduct() {
        int order  = service.SyFailedProduct();
        return JsonData.buildSuccess(order);
    }
    /**
     * @Description : 查看优惠券
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/8/17 9:29
     */
    @RequestMapping("/selCoupon")
    @ResponseBody
    public JsonData addProductCategory(SyUserCoupon sc) {
        List<Map<String, Object>> list = service.selCoupon(sc);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description : 删除优惠券
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/8/17 17:23
     */
    @RequestMapping("/delCoupon")
    @ResponseBody
    public JsonData delCoupon(Integer couponId) {
        int num = service.delCoupon(couponId);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description : 添加优惠券
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/8/17 19:53
     */
    @RequestMapping("/addCoupon")
    @ResponseBody
    public JsonData addCoupon(SyUserCoupon sc) {
        int num = service.addCoupon(sc);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }

    /**
    * @Description : 修改优惠券状态
    * @Return : si.yun.entity.JsonData
    * @Date : 2021/8/17 19:53
    */
    @RequestMapping("/updCouponOnline")
    @ResponseBody
    public JsonData updCouponOnline(Integer online, Integer coupon_id) {
        int num = service.updCouponOnline(online,coupon_id);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description : 修改商品状态 李军瑶 10/14
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/8/21 10:23
     */
    @RequestMapping("/updProductSate")
    @ResponseBody
    public JsonData updProductSate(Integer state, Integer productId) {
        int num = service.updProductSate(state,productId);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
	
    /**
        * @Description : 查看用户优惠券记录
        * @Return : si.yun.entity.JsonData
        * @Date : 2021/8/27 11:25
        */
    @RequestMapping("/selCouponUsed")
    @ResponseBody
    public JsonData selCouponUsed(String account, String nickname, Integer user_id) {
        List<Map<String, Object>> list = service.selCouponUsed(account,nickname,user_id);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Author : 栾佳俊
     * @Date : 2021/8/10 14:01
     * @Param : [id]
     * @Return : si.yun.utils.JsonData
     * 轮播图列表查询
     */
    @RequestMapping("selCarousel")
    @ResponseBody
    public JsonData selCarousel(@RequestParam Map<String,Object> map) {
        List<Map<String, Object>> list=service.selCarousel(map);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("信息为空");
    }
    /**
        * @Description : 课程导入
        * @Return : si.yun.entity.JsonData
        * @Date : 2021/9/8 10:24
        */
    @RequestMapping("/addCourseInsimport")
    @ResponseBody
    public JsonData addCourseInsimport(MultipartFile file, HttpSession session) {
        List<SyCourse> list=new ArrayList<>();
        SyCourse sc=null;

        try {
            List<List<String>> lists = TemplateExcelUtil.readExcel(file.getInputStream());

            if (!CollectionUtils.isEmpty(lists)) {
                for (int a = 0; a < lists.size(); a++) {
                    List<String> list2 = lists.get(a);
                    sc= OpcreateCoursePoi.createCoursePoi(list2,session);
                    list.add(sc);;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        int num = service.addCourseInsimport(list);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }

    /**
    * @Description : 查询课程
    * @Return : si.yun.entity.JsonData
    * @Date : 2021/9/4 11:59
    */
    @RequestMapping("/selCourses")
    @ResponseBody
    public JsonData selCourses(@RequestParam Map<String,Object> map){
        List<Map<String, Object>> maps = service.selCourses(map);
        return maps!=null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description : 删除课程
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/9/7 18:51
     */
    @RequestMapping("/delCourse")
    @ResponseBody
    public JsonData delCourse(Integer courseId){
        int num = service.delCourse(courseId);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description : 查询课程分类父
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/9/4 11:59
     */
    @GetMapping("/selCourseClass")
    @ResponseBody
    public JsonData selCourseClass(){
        List<Map<String, Object>> maps = service.selCourseClass();
        return maps!=null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
    /**
   * @Description : 添加课程分类
   * @Return : si.yun.entity.JsonData
   * @Date : 2021/9/4 14:25
   */
    @RequestMapping("/addCourseClass")
    @ResponseBody
    public JsonData addCourseClass(SyCourseClass sc){
        int num = service.addCourseClass(sc);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 查看审核课程信息
     * @return si.yun.entity.JsonData
     * @Date 14:34 2021/8/4
     **/
    @RequestMapping("/selCourseAud")
    @ResponseBody
    public JsonData selCourseAud() {
        List<Map<String, Object>> num = service.selCourseAud();
        return num != null ? JsonData.buildSuccess(num) : JsonData.buildError("服务器出错了");
    }


    /**
     * @Description //课程审核的高级检索
     * @return si.yun.entity.JsonData
     * @Date 12:01 2021/8/5
     **/
    @RequestMapping("/selCourseHeight")
    @ResponseBody
    public JsonData selCourseHeight(SyCourse list) {
        List<Map<String, Object>> maps = service.selCourseHeight(list);
        return maps != null ? JsonData.buildSuccess(maps) : JsonData.buildError("服务器出错了");
    }

    /**
     * @Description //课程审核的详情
     * @return si.yun.entity.JsonData
     * @Date 12:01 2021/8/5
     **/
    @RequestMapping("/selCoAuInfo")
    @ResponseBody
    public JsonData selCoAuInfo(int courseNo) {
        Map<String, Object> maps = service.selCoAuInfo(courseNo);
        return maps != null ? JsonData.buildSuccess(maps) : JsonData.buildError("服务器出错了");
    }
    /**
     * @Description //课程审核修改
     * @return si.yun.entity.JsonData
     * @Date 12:01 2021/8/5
     **/
    @RequestMapping("/upCourseCstatus")
    @ResponseBody
    public JsonData upCourseCstatus(int result, int courseId) {
        int maps = service.upCourseCstatus(result,courseId);
        return maps != 0 ? JsonData.buildSuccess(maps) : JsonData.buildError("服务器出错了");
    }

    /**
     * @Description : 查询所有课程分类赋值给下拉菜单
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/9/4 11:59
     */
    @RequestMapping("/selCourseClassSelect")
    @ResponseBody
    public JsonData selCourseClassSelect(){
        List<Map<String, Object>> maps = service.selCourseClassSelect();
        return maps!=null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
    /**
   * @Description : 修改课程分类
   * @Return : si.yun.entity.JsonData
   * @Date : 2021/9/4 14:25
   */
    @RequestMapping("/updCourseClass")
    @ResponseBody
    public JsonData updCourseClass(SyCourseClass sc){
        int num = service.updCourseClass(sc);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description : 删除课程分类
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/9/4 14:27
     */
    @RequestMapping("/delCourseClass")
    @ResponseBody
    public JsonData delCourseClass(Integer id){
        int num = service.delCourseClass(id);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description : 修改课程
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/9/7 16:10
     */
    @RequestMapping("/updCourses")
    @ResponseBody
    public JsonData updCourses(SyCourse sc){
        int num = service.updCourses(sc);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
         * @Description : 课程日志
         * @Return : si.yun.entity.JsonData
         * @Date : 2021/9/13 10:05
         */
    @RequestMapping("/selCourseLog")
    @ResponseBody
    public JsonData selCourseLog(Integer type, Integer log_id){
        List<Map<String, Object>> list=service.selCourseLog(type,log_id);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
   * @Description : 通过课程分类子获取父分类
   * @Return : si.yun.entity.JsonData
   * @Date : 2021/9/14 9:51
   */
    @RequestMapping("/selCousrseChildParent")
    @ResponseBody
    public JsonData selCousrseChildParent(Integer id){
        Map<String, Object> map=service.selCousrseChildParent(id);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    /**
    * @Description : 课程 图片/视频上传
    * @Return : java.util.Map<java.lang.String,java.lang.Object>
    * @Date : 2021/9/14 11:05
    */
    @RequestMapping("/uoloadCourse")
    @ResponseBody
    public Map<String, Object> addBackUserImg(@RequestParam("file") MultipartFile files, HttpSession session) throws Exception {
        String newName = uploadFile(files);
        session.setAttribute("backImgNewName1",newName);
        int add = 1;
        Map<String, Object> map = new HashMap<>();
        map.put("code", 0);
        map.put("msg", "");
        map.put("data", newName);
        map.put("obj",  path2+newName);
        return map;
    }
    public String  uploadFile(@RequestParam("file") MultipartFile files) throws IllegalStateException, IOException {
        //上传到服务器
        StorePath upload = testAliUpload.upload(files);
        String newName = upload.getFullPath();
        return newName;
    }
    /**
      * @Description : 添加课程
      * @Return : si.yun.entity.JsonData
      * @Date : 2021/9/14 16:52
      */
     @RequestMapping("/addCourse")
    @ResponseBody
    public JsonData addCourse(SyCourse sc, String str) throws JsonProcessingException {
        ObjectMapper objectMapper=new ObjectMapper();
        List<Map<String,Object>> list = objectMapper.readValue(str, List.class);
        List<SyMicrocircleImg> l=new ArrayList<>();
        for(Map<String,Object> map:list){
            SyMicrocircleImg sm=new SyMicrocircleImg();
            sm.setCommodityId(sc.getCourseId());
            sm.setPictureUrl((String) map.get("url"));
            sm.setPictureType((Integer) map.get("pictureType"));
            sm.setPictureName((String) map.get("pictureName"));
            sm.setCreateUser((Integer) map.get("createUser"));
            l.add(sm);
        }
        int num = service.addCourse(sc,l);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
      * @Description :  查询审核记录
      * @Return : si.yun.entity.JsonData
      * @Date : 2021/8/4 18:26
      */
    @RequestMapping("/selCourseRecord")
    @ResponseBody
    public JsonData selCourseRecord(Integer type, Integer course_id) {
        List<Map<String,Object>> list = service.selCourseRecord(type, course_id);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description:  李军瑶改
     * @return: si.yun.utils.JsonData
     * @Date: 2021/10/13 21:04
     */
    @RequestMapping("/getAuditDetails")
    @ResponseBody
    public JsonData getAuditDetails(Integer type, Integer productId) {
        List<Map<String,Object>> list = service.getAuditDetails(type, productId);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description : 商品导入
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/8/4 18:56
     */
    @RequestMapping("/addInsimportExcel")
    @ResponseBody
    public JsonData addInsimportExcel(MultipartFile file, HttpSession session) {

        //获取创建人
        Map<String,Object> user = (Map<String, Object>) session.getAttribute("user");


        List<SyProduct> list=new ArrayList<>();
        SyProduct sy=null;
        try {
            List<List<String>> lists = TemplateExcelUtil.readExcel(file.getInputStream());

            if (!CollectionUtils.isEmpty(lists)) {
                for (int a = 0; a < lists.size(); a++) {
                    List<String> list2 = lists.get(a);
                    sy = OpcreateProductcPoi.createProductcPoi(list2, session);

                    //设置创建人
                    sy.setCreateUser((Integer) user.get("user_id"));
                    list.add(sy);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        int num = service.addInsimportExcel(list);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 查询所有商品分类赋值给下拉菜单
     * @return si.yun.entity.JsonData
     * @Date 14:32 2021/8/4
     **/
    @RequestMapping("/selProductCategorySelect")
    @ResponseBody
    public JsonData selProductCategorySelect() {
        List<Map<String, Object>> maps = service.selProductCategorySelect();
        return maps != null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 获取商品信息  12/13
     * @return si.yun.entity.JsonData
     * @Date 14:31 2021/8/4
     **/
    //获取商品信息
    @RequestMapping("/selProduct")
    @ResponseBody
    public JsonData selProduct(@RequestParam Map<String,Object> map) {
        List<Map<String, Object>> maps = service.selProduct(map);

        for(Map<String, Object> map1:maps){
            map1.put("main_image",path2+map1.get("main_image"));
            map1.put("path",path2);
        }
        return maps!=null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 删除商品
     * @return si.yun.entity.JsonData
     * @Date 14:33 2021/8/4
     **/

    @RequestMapping("/delProduct")
    @ResponseBody
    public JsonData delProduct(Integer productId) {
        int num = service.delProduct(productId);
        return num >= 0 ? JsonData.buildSuccess(num) : JsonData.buildError("服务器出错了");
    }
	/**
     * @Description 删除商品2  李军瑶  11/25
     * @return si.yun.utils.JsonData
     * @Date 2021/11/25 11:35
     */
    @RequestMapping("/upProduct")
    @ResponseBody
    public JsonData upProduct(Integer productId,Integer mid) {
        int num = service.upProduct(productId,mid);
        return num >= 0 ? JsonData.buildSuccess(num) : JsonData.buildError("服务器出错了");
    }
    /**
     @Description 查询商品分类父  李军瑶 10/28
     @return  si.yun.entity.JsonData
     @Date 21:00 2021/7/2
   */
    @RequestMapping("/selProductCategory")
    @ResponseBody
    public JsonData selProductCategory(Integer id){
        List<Map<String, Object>> maps = service.selProductCategory(0,id);
        return maps!=null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
    /**
    * @Description : 添加商品分类
      * @Return : si.yun.entity.JsonData
      * @Date : 2021/8/5 19:23
     */
    @RequestMapping("/addProductCategory")
    @ResponseBody
    public JsonData addProductCategory(SyProductCategroy spc) {
        int num = service.addProductCategory(spc);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
       * @Description : 修改商品分类信息 李军瑶 11/2
       * @Return : si.yun.entity.JsonData
       * @Date : 2021/8/5 19:27
       */
    @RequestMapping("/updProductCategory")
    @ResponseBody
    public JsonData addProductCategory(String categroyName, Integer id,Integer updateUser) {
        int num = service.updProductCategory(categroyName,id,updateUser);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description : 删除商品分类
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/8/5 19:48
     */
    @RequestMapping("/delProductCategory")
    @ResponseBody
    public JsonData delProductCategory(Integer id) {
        int num = service.delProductCategory(id);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 修改商品信息 李军瑶
     * @return si.yun.entity.JsonData
     * @Date 14:33 2021/8/4
     **/
    @RequestMapping("/updProduct")
    @ResponseBody
    public JsonData updProduct(ProductTable prta,String str,String strAdd,String delImg) throws JsonProcessingException {

        //序列化
        ObjectMapper objectMapper=new ObjectMapper();

        // 删除预览图
        List<Map<String,Object>> list = objectMapper.readValue(str, List.class);

        //添加预览图
        List<Map<String,Object>> list2 = objectMapper.readValue(strAdd, List.class);

        //删除服务器图片
        List<Map<String,Object>> list3 = objectMapper.readValue(delImg, List.class);

        int num = service.updProduct(prta,list,list2,list3);

        return num >= 0 ? JsonData.buildSuccess(num) : JsonData.buildError("服务器出错了");
    }
    /**
 * @Description : 查看商品日志
 * @Return : si.yun.entity.JsonData
 * @Date : 2021/8/5 9:23
 */
    @RequestMapping("/selProductLog")
    @ResponseBody
    public JsonData selProductLog(ProductTable proTab) {
        List<Map<String, Object>> list = service.selProductLog(proTab);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
    * @Description :  上传图片  李军瑶改  12/13
   * @Return : java.util.Map<java.lang.String,java.lang.Object>
   * @Date : 2021/8/9 16:43
           */
    @RequestMapping("/uoloadImg")
    @ResponseBody
    public Map<String, Object> uoloadImg(@RequestParam("file") MultipartFile files, HttpSession session) throws IOException {
        Map<String,Object> map=new HashMap<>();

        String newName = uploadFile(files);
        session.setAttribute("backImgNewName",newName);

        map.put("code",0);
        map.put("msg","上传成功");
        map.put("src",path2+newName);

        return map;
    }
    /**
       * @Description : 添加商品
       * @Return : si.yun.entity.JsonData
       * @Date : 2021/8/12 21:20
       */
    @RequestMapping("/addProduct")
    @ResponseBody
    public JsonData addProduct(SyProduct sp, String str) throws JsonProcessingException {
        ObjectMapper objectMapper=new ObjectMapper();
        List<Map<String,Object>> list = objectMapper.readValue(str, List.class);
        List<SyMicrocircleImg> l=new ArrayList<>();
        for(Map<String,Object> map:list){
            SyMicrocircleImg sm=new SyMicrocircleImg();
            sm.setCommodityId(sp.getProductId());
            sm.setPictureUrl((String) map.get("pictureUrl"));
            sm.setPictureType((Integer) map.get("pictureType"));
            sm.setPictureUrl((String) map.get("pictureUrl"));
            sm.setPictureName((String) map.get("pictureName"));
            sm.setCreateUser((Integer) map.get("createUser"));
            l.add(sm);
        }
        int num = service.addProduct(sp,l);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /*
    * @Description : 通过子获取父分类
    * @Return : si.yun.entity.JsonData
    * @Date : 2021/8/6 14:05
    */
    @RequestMapping("/selChildParent")
    @ResponseBody
    public JsonData selChildParent(Integer id) {
        Map<String, Object> list = service.selChildParent(id);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /*
    * @Description : 赠送优惠券记录
    * @Return : si.yun.entity.JsonData
    * @Date : 2021/8/31 22:11
    */
    @RequestMapping("/addCouponUsed")
    @ResponseBody
    public JsonData addCouponUsed(String str) throws JsonProcessingException {
        ObjectMapper objectMapper=new ObjectMapper();
        List list = objectMapper.readValue(str, List.class);
        int num = service.addCouponUsed(list);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }
    /**
         * @Description : 查看轮播图记录
         * @Return : si.yun.entity.JsonData
         * @Date : 2021/8/27 11:25
         */
    @RequestMapping("/selCarouselPictures")
    @ResponseBody
    public JsonData selCarouselPictures(@RequestParam Map<String ,Object> map) {
        List<Map<String, Object>> list = service.selCarouselPictures(map);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /*
    * @Description : 修改轮播图上线\下线
    * @Return : si.yun.entity.JsonData
    * @Date : 2021/9/22 16:30
    */
    @PostMapping("/updCarouselDisplay")
    public JsonData updCarouselDisplay(Integer display,Integer carousel_id){
        int num=service.updCarouselDisplay(display,carousel_id);
        return num>0?JsonData.buildSuccess(num):JsonData.buildError("服务器出错了");
    }
    /**
     * @author: DZQ
     * @description: 修改轮播图
     * @date: 2021/10/13 20:01
     * @return
     */
    @PostMapping("/updCarousel")
    @ResponseBody
    public JsonData updCarousel(@RequestParam Map<String ,Object> map){
        int num=service.updCarousel(map);
        return num>0?JsonData.buildSuccess(num):JsonData.buildError("服务器出错了");
    }
    /**
     * @author: DZQ
     * @description: 添加轮播图
     * @date: 2021/10/11 11:55
     * @return
     */
    @RequestMapping("/addCarousel")
    @ResponseBody
    public JsonData addCarousel(@RequestParam Map<String ,Object> map,HttpServletRequest request) {
        HttpSession session = request.getSession();
        String backImgNewName1 = (String) session.getAttribute("backImgNewName1");
        int  order = service.addCarousel(map,backImgNewName1);
        return JsonData.buildSuccess(order);
    }
    /**
      * @Description : 轮播图列表删除
      * @Return : si.yun.entity.JsonData
      * @Date : 2021/8/27 11:25
      */
    @RequestMapping("/DeleteCarousel")
    @ResponseBody
    public JsonData DeleteCarousel(int carousel_id) {
        int  order = service.DeleteCarousel(carousel_id);
        return JsonData.buildSuccess(order);
    }
    /**
     * 统计--折线图
     * @Author : 栾佳俊
     * @Date : 2021/9/14 19:36
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @ResponseBody
    @PostMapping("/selCurriculumCount")
    private JsonData selCurriculumCount(){
        Map<String, Object> stringObjectMap = null;
        try {
            stringObjectMap = service.selCurriculumCount();
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return stringObjectMap!=null? JsonData.buildSuccess(stringObjectMap): JsonData.buildError("服务器错误");
    }
    /**
     * 统计--折线图
     * @Author : 栾佳俊
     * @Date : 2021/9/14 19:36
     * @Param : []
     * @Return : si.yun.utils.JsonData
     */
    @ResponseBody
    @PostMapping("/selPageSystem")
    private JsonData selPageSystem(){
        Map<String, Object> stringObjectMap = null;
        try {
            stringObjectMap = service.selPageSystem();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return stringObjectMap!=null? JsonData.buildSuccess(stringObjectMap): JsonData.buildError("服务器错误");
    }
    /**
  * @Description : 统计评论数量
  * @Return : si.yun.entity.JsonData
  * @Date : 2021/9/23 14:54
  */
    @ResponseBody
    @PostMapping("/selCommentCount")
    public JsonData selCommentCount(Integer type,Integer userType){
        List<Map<String, Object>> list=service.selCommentCount(type,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
    * @Description : 统计历史/今天数量
    * @Return : si.yun.entity.JsonData
    * @Date : 2021/9/23 15:50
    */
    @ResponseBody
    @PostMapping("/historyTodayCount")
    public JsonData historyTodayCount(Integer type){
        Map<String, Object> map=service.historyTodayCount(type);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description : 查询评论
     * @Return : si.yun.entity.JsonData
     * @Date : 2021/9/23 10:37
     */
    @ResponseBody
    @PostMapping("/selComment")
    public JsonData selComment(Integer type, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selComment(type,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/selBackComment")
    public JsonData selBackComment(Integer type, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selBackComment(type,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
      * @Description : 评论状态修改
      * @Return : si.yun.entity.JsonData
      * @Date : 2021/9/23 16:21
      */
    @ResponseBody
    @PostMapping("/updComment")
    public JsonData updComment(Integer status, Integer id){
        int num=service.updComment(status,id);
        return num>0? JsonData.buildSuccess(num): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description :  查询商品订单列表数据
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selProductOrderList")
    @ResponseBody
    public JsonData selProductOrderList(@RequestParam Map<String ,Object> m) {
        List<Map<String,Object>> list = service.selProductOrderList(m);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  高级检索查询商品订单列表数据
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selProductOrderList1")
    @ResponseBody
    public JsonData selProductOrderList1(@RequestParam Map<String ,Object> m) {
        List<Map<String,Object>> list = service.selProductOrderList1(m);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  查询商品订单列表数据详情
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selProductOrderDetails")
    @ResponseBody
    public JsonData selProductOrderDetails(String orderId) {
        Map<String,Object> list = service.selProductOrderDetails(orderId);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  商品订单列表的删除
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/delProductOrderDetails")
    @ResponseBody
    public JsonData delProductOrderDetails(String orderId) {
        int list = service.delProductOrderDetails(orderId);
        return list!=0? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
	/**
     * @Description: 删除个人商品 10/18 李军瑶
     * @return: si.yun.utils.JsonData
     * @Date: 2021/10/18 11:33
     */
    @RequestMapping("/delPersonalProductList")
    @ResponseBody
    public JsonData delPersonalProductList(Integer productId) {
        int del = service.delPersonalProductList(productId);
        return del!=0? JsonData.buildSuccess(del): JsonData.buildError("服务器出错了");
    }
	/**
     * @Description 删除个人商品 11/25 李军瑶
     * @return si.yun.utils.JsonData
     * @Date 2021/11/25 11:52
     */
    @RequestMapping("/upPersonalProductList")
    @ResponseBody
    public JsonData upPersonalProductList(Integer productId) {
        int del = service.upPersonalProductList(productId);
        return del!=0? JsonData.buildSuccess(del): JsonData.buildError("服务器出错了");
    }
	/**
     * @Description: 修改商品审核状态  李军瑶 11/3
     * @return: si.yun.utils.JsonData
     * @Date: 2021/11/3 20:21
     */
    @RequestMapping("/upProductSate")
    @ResponseBody
    public JsonData upProductSate(Integer productSate,Integer productId) {
        int upPro = service.upProductSate(productSate,productId);
        return upPro!=0? JsonData.buildSuccess(upPro): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  查询商品订单待付款列表
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selGoodsPaidList")
    @ResponseBody
    public JsonData selGoodsPaidList(@RequestParam Map<String ,Object> m) {
        List<Map<String,Object>> list = service.selGoodsPaidList(m);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  查询课程订单列表数据
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selCourseOrderListData")
    @ResponseBody
    public JsonData selCourseOrderListData(@RequestParam Map<String ,Object> m) {
        List<Map<String,Object>> list = service.selCourseOrderListData(m);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  查询课程订单列表数据详情
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selCourseOrderList")
    @ResponseBody
    public JsonData selCourseOrderList(@RequestParam Map<String ,Object> m) {
        Map<String,Object> list = service.selCourseOrderList(m);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  查询个人商品列表
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @RequestMapping("/selPersonalProductList")
    @ResponseBody
    public JsonData selPersonalProductList(@RequestParam Map<String ,Object> m) {
        List<Map<String,Object>> list = service.selPersonalProductList(m);
        for(Map<String, Object> map1:list){
            map1.put("main_image",path2+map1.get("main_image"));
        }
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description :  查询商品审核
     * @Return : si.yun.entity.JsonData
     *  @Date : 2021/8/4 18:26
     */
    @ResponseBody @PostMapping("/selBolk")
    public JsonData selBolk(Integer type, Integer status){
        List<Map<String, Object>> list=service.selBolk(type,status);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 彻底删除评论
     * @return si.yun.utils.JsonData
     * @Date 2021/10/7 15:03
     **/
    @PostMapping("/clearComment")
    @ResponseBody
    public JsonData clearComment(Integer id){
        Integer del = service.clearComment(id);
        return del!=0? JsonData.buildSuccess(del): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 商品审核列表
     * @Author : 李军瑶
     * @return si.yun.utils.JsonData
     * @Date 11:17 2021/8/15
     */
    @PostMapping("/getCommodityAudit")
    @ResponseBody
    public JsonData getCommodityAudit(ProductTable protab){

        List<Map<String, Object>> list = service.getCommodityAudit(protab);

        for(Map<String,Object> m:list){
            String img= (String) m.get("main_image");
            m.put("main_image",path2+img);
        }
        return list!=null?JsonData.buildSuccess(list):JsonData.buildError("信息为空");
    }



    /**
     * @Description 统计审核状态的商品数量
     * @return si.yun.utils.JsonData
     * @Date 17:03 2021/8/15
     */
    @PostMapping("/getStatisticalAuditStatus")
    @ResponseBody
    public JsonData getStatisticalAuditStatus(Integer productSate){
        int status = service.getStatisticalAuditStatus(productSate);
        return status!=-1?JsonData.buildSuccess(status):JsonData.buildError("信息为空");
    }

    /**
     * @Description 商品审核弹出层    李军瑶 11/3
     * @return si.yun.utils.JsonData
     * @Date 20:15 2021/8/17
     */
    @PostMapping("/setCommodityAudit")
    @ResponseBody
    public JsonData setCommodityAudit(Integer state,Integer productSate,Integer productId,Integer implementId,String result,String details,Integer type){
        int status = 0;
        try {
            status = service.setCommodityAudit(state,productSate,productId,implementId,result,details,type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return status!=0?JsonData.buildSuccess(status):JsonData.buildError("信息为空");
    }
    /**
     * @Description  查看课程详情
     * @return si.yun.utils.JsonData
     * @Date 2021/10/7 15:33
     **/
    @PostMapping("/selCourseInfo")
    @ResponseBody
    public JsonData selCourseInfo(Integer courseId){
        SyCourseTab course = service.selcourse(courseId);
        course.setUrl(path2+course.getUrl());
        course.setCourseUrl(path2+course.getCourseUrl());
        return course!=null?JsonData.buildSuccess(course):JsonData.buildError("服务器错误");
    }
    /**
     * @Description  课程详情下的评论区
     * @return si.yun.utils.JsonData
     * @Date 2021/10/7 19:03
     **/
    @PostMapping("/selCommentInfo")
    @ResponseBody
    public JsonData selCommentInfo(Integer id,Integer type){
        List<SyCommentList> list=service.selCommentInfo(id,type);
        return list!=null?JsonData.buildSuccess(list):JsonData.buildError("服务器错误");
    }
    /**
     * @Description  添加评论
     * @return si.yun.utils.JsonData
     * @Date 2021/10/7 20:26
     **/
    @PostMapping("/addCommentInfo")
    @ResponseBody
    public JsonData addCommentInfo(SyComment comment){
        Integer add=service.addCommentInfo(comment);
        return add!=0?JsonData.buildSuccess(add):JsonData.buildError("服务器错误");
    }
    /**
     * @Description 查询评论 文章 前后端
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 9:01
     **/
    @ResponseBody
    @PostMapping("/selEssayComment")
    public JsonData selEssayComment(Integer type, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selEssayComment(type,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/selEssayBackComment")
    public JsonData selEssayBackComment(Integer type, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selEssayBackComment(type,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }

    /**
     * @Description  查看文章详情
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 9:57
     **/
    @ResponseBody
    @PostMapping("/selEassyInfo")
    public JsonData selEassyInfo(Integer microcircleId){
        OperEassyInfo list=service.selEassyInfo(microcircleId);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description 获取用户信息
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 10:34
     **/
    @ResponseBody
    @PostMapping("/seluserInfos")
    public JsonData seluserInfos(String tableName, String tableInfo, Integer userId){
        Map<String, Object> map = service.seluserInfos(tableName, tableInfo, userId);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description  获取文章中包含的图片
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 11:03
     **/
    @ResponseBody
    @PostMapping("/selEassyImgs")
    public JsonData selEassyImgs(Integer microcircleId,Integer pictureType){
        List<Map<String, Object>> map = service.selEassyImgs(microcircleId,pictureType);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 13:43
     **/
    @ResponseBody
    @PostMapping("/selCommodityComment")
    public JsonData selCommodityComment(Integer type, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selCommodityComment(type,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/selCommodityBackComment")
    public JsonData selCommodityBackComment(Integer type, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selCommodityBackComment(type,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description  获取商品详细信息
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 14:27
     **/
    @ResponseBody
    @PostMapping("/selCommodityInfo")
    public JsonData selCommodityInfo(Integer microcircleId){
        OperCommodityInfo list=service.selCommodityInfo(microcircleId);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description  获取商品中包含的图片
     * @return si.yun.utils.JsonData
     * @Date 2021/10/8 15:17
     **/
    @ResponseBody
    @PostMapping("/selCommodityImgs")
    public JsonData selCommodityImgs(Integer microcircleId,Integer pictureType){
        List<Map<String, Object>> map = service.selCommodityImgs(microcircleId,pictureType);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/getCourseCountNum")
    public JsonData getCourseCountNum(Integer userId, Integer userType) {
        List<Map<String, Object>> map = service.getCourseCountNum(userId, userType);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/getEssayCountNum")
    public JsonData getEssayCountNum(Integer userId, Integer userType) {
        List<Map<String, Object>> map = service.getEssayCountNum(userId, userType);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/getProductCourseCountNum")
    public JsonData getProductCourseCountNum(Integer userId, Integer userType) {
        List<Map<String, Object>> map = service.getProductCourseCountNum(userId, userType);
        return map!=null? JsonData.buildSuccess(map): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description  获取个人课程的评论数据  前后
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     * @Date 2021/10/10 19:18
     **/
    @ResponseBody
    @PostMapping("/getCourseBeforeAjax")
    public JsonData getCourseBeforeAjax(Integer userId, Integer status, Integer userType) {
        List<Map<String, Object>> list = service.getCourseBeforeAjax(userId, status, userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/getCourseBackAjax")
    public JsonData getCourseBackAjax(Integer userId, Integer status, Integer userType) {
        List<Map<String, Object>> list = service.getCourseBackAjax(userId, status, userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description  获取个人文章的评论数据 前后
     * @return si.yun.utils.JsonData
     * @Date 2021/10/10 19:08
     **/
    @ResponseBody
    @PostMapping("/selPerBackEasComment")
    public JsonData selPerBackEasComment(Integer userId, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selPerBackEasComment(userId,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/selPerBeforeEasComment")
    public JsonData selPerBeforeEasComment(Integer userId, Integer status,Integer userType){
        List<Map<String, Object>> list=service.selPerBeforeEasComment(userId,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    /**
     * @Description   获取个人商品评论的信息 前后
     * @return si.yun.utils.JsonData
     * @Date 2021/10/10 19:29
     **/
    @ResponseBody
    @PostMapping("/getCommodityBeforeAjax")
    public JsonData getCommodityBeforeAjax(Integer userId, Integer status,Integer userType){
        List<Map<String, Object>> list=service.getCommodityBeforeAjax(userId,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }
    @ResponseBody
    @PostMapping("/getCommodityBackAjax")
    public JsonData getCommodityBackAjax(Integer userId, Integer status,Integer userType){
        List<Map<String, Object>> list=service.getCommodityBackAjax(userId,status,userType);
        return list!=null? JsonData.buildSuccess(list): JsonData.buildError("服务器出错了");
    }


    /**
     * @Description 商品订单列表   李军瑶  11/8
     * @return si.yun.utils.JsonData
     * @Date 10:00 2021/8/24
     */
    @PostMapping("/addOrdersGoods")
    @ResponseBody
    public JsonData addOrdersGoods(ProductTable protab){
        List<Map<String, Object>> list = service.addOrdersGoods(protab);
        return list!=null?JsonData.buildSuccess(list):JsonData.buildError("信息为空");
    }
    /**
     * @Description 统计商品订单数量   李军瑶  11/8
     * @return si.yun.utils.JsonData
     * @Date 17:57 2021/8/25
     */
    @PostMapping("/getOrderNumber")
    @ResponseBody
    public JsonData getOrderNumber(Integer orderType,Integer orderStatus){
        int orderNumber = service.getOrderNumber(orderType, orderStatus);
        return orderNumber!=0?JsonData.buildSuccess(orderNumber):JsonData.buildError("信息为空");
    }


    /**
     * @Description: 商品订单详情     李军瑶   11/11
     * @return:si.yun.utils.JsonData
     * @Date:20:43 2021/9/9
     */
    @PostMapping("/getOrderDetails")
    @ResponseBody
    public JsonData getOrderDetails(Integer orderId){
        // List<Map<String, Object>> orderDetails = service.getOrderDetails(orderId);
        List<Map<String, Object>> orderDetails = service.getOrderDetails(orderId);

        for(Map<String,Object> m:orderDetails){
            String img= (String) m.get("main_image");
            m.put("main_image",path2+img);
        }
        return orderDetails!=null?JsonData.buildSuccess(orderDetails):JsonData.buildError("信息为空");
    }
	
	/**
     * @Description 修改订单状态  李军瑶 11/24
     * @return si.yun.utils.JsonData
     * @Date 2021/11/24 10:50
     */
    @PostMapping("/upOrderStatus")
    @ResponseBody
    public JsonData upOrderStatus(String orderStatus,Integer orderId){
        int ddress = service.upOrderStatus(orderStatus, orderId);
        return ddress!=0?JsonData.buildSuccess(ddress):JsonData.buildError("信息为空");
    }
    /**
     * @Description: 修改收件人信息     李军瑶   11/11
     * @return: si.yun.utils.JsonData
     * @Date: 2021/9/23 17:05
     */
    @PostMapping("/setAddress")
    @ResponseBody
    public JsonData setAddress(String address,Integer orderId){
        int ddress = service.setAddress(address, orderId);
        return ddress!=0?JsonData.buildSuccess(ddress):JsonData.buildError("信息为空");
    }
    /**
     * @Description: 收件人地址      李军瑶   11/11
     * @return: si.yun.utils.JsonData
     * @Date: 2021/9/23 20:16
     */
    @PostMapping("/getAddress")
    @ResponseBody
    public JsonData getAddress(Integer orderId){
        Map<String, Object> address = service.getAddress(orderId);
        return address!=null?JsonData.buildSuccess(address):JsonData.buildError("信息为空");
    }

	/**
     * @Description 课程订单详情  李军瑶 11/16
     * @return si.yun.utils.JsonData
     * @Date 2021/11/16 14:59
     */
    @PostMapping("/selCourseOrderLists")
    @ResponseBody
    public JsonData selCourseOrderLists(Integer orderId){
        List<Map<String, Object>> orderDetails = service.selCourseOrderLists(orderId);

        for(Map<String,Object> m:orderDetails){
            String img= (String) m.get("url");
            m.put("url",path2+img);
        }
        return orderDetails!=null?JsonData.buildSuccess(orderDetails):JsonData.buildError("信息为空");
    }

    /*
     * @Description : 商品分类
     * @Return : si.yun.utils.JsonData
     * @Date : 2021/11/17 20:44
     */
    @RequestMapping("/selProductCategory2")
    @ResponseBody
    public JsonData selProductCategory2(Integer id){
        List<Map<String, Object>> maps = service.selProductCategory2(0,id);
        return maps!=null? JsonData.buildSuccess(maps): JsonData.buildError("服务器出错了");
    }
	
	/**
     * @Description 退货订单列表   李军瑶 11/19
     * @return si.yun.utils.JsonData
     * @Date 2021/11/19 11:53
     */
    @PostMapping("/returnGoods")
    @ResponseBody
    public JsonData returnGoods(ProductTable protab){
        List<Map<String, Object>> list = service.returnGoods(protab);
        return list!=null?JsonData.buildSuccess(list):JsonData.buildError("信息为空");
    }
    /**
     * @Description 统计退货订单数量    李军瑶  11/19
     * @return si.yun.utils.JsonData
     * @Date 17:57 2021/8/25
     */
    @PostMapping("/getReturnGoodsNumber")
    @ResponseBody
    public JsonData getReturnGoodsNumber(Integer orderStatus){
        int orderNumber = service.getReturnGoodsNumber(orderStatus);
        return orderNumber!=0?JsonData.buildSuccess(orderNumber):JsonData.buildError("信息为空");
    }
    /**
     * @Description 商品退货订单审核   李军瑶 11/22
     * @return si.yun.utils.JsonData
     * @Date 2021/11/22 15:51
     */
    @PostMapping("/setOrderAudit")
    @ResponseBody
    public JsonData setOrderAudit(Integer productId,Integer orderStatus,Integer orderId,Integer implementId,String result,String details,Integer type){
        int status = 0;
        try {
            status = service.setOrderAudit(productId,orderStatus,orderId,implementId,result,details,type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return status!=0?JsonData.buildSuccess(status):JsonData.buildError("信息为空");
    }


    /*
     * @Description : 查询前台单个课程详情
     * @Return : si.yun.utils.JsonData
     * @Date : 2021/11/29 8:48
     */
    @PostMapping("/selBeforeCourse")
    @ResponseBody
    public JsonData selBeforeCourse(Integer courseId){
        SyCourseTab course = service.selBeforeCourse(courseId);
        course.setUrl(path2+course.getUrl());
        course.setCourseUrl(path2+course.getCourseUrl());
        return course!=null?JsonData.buildSuccess(course):JsonData.buildError("服务器错误");
    }

	//获取商品修改信息
    @RequestMapping("/selProducts")
    @ResponseBody
    public JsonData selProducts(Integer productId) {
        ProductTable productTable = service.selProducts(productId);

        productTable.setImg(productTable.getMainImage());
        productTable.setMainImage(path2+productTable.getMainImage());
        productTable.setPath(path2);

        return productTable!=null? JsonData.buildSuccess(productTable): JsonData.buildError("服务器出错了");
    }
	
}
